/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package progbalao;

/**
 *
 * @author thiagoj
 */
public class Funcoes {

	/**
	 * Busca a posição no array de baloes
	 *
	 * @param baloes
	 * @param id
	 * @return retorna -1 para false;
	 */
	public static int buscaBaloes(Balao[] baloes, int idP) {
		int i;
		for (i = 0; i < baloes.length; i++) {
			if (baloes[i] != null) {
				
				if (baloes[i].getId() == idP) {
					
					return i;
				}
			}
		}

		return -1;
	}

	public static void baloesVisinhos(Balao[] baloes, Balao balao) {
		double distancia;
		int i = 0;
		int j = 0;
		Balao[] vetorOeste = new Balao[10];
		Balao[] vetorLeste = new Balao[10];
		int idBalao;


		for (Balao b : baloes) { //for each
			distancia = balao.distancia(b);

			if (b.getId() != balao.getId()) {
				if (balao.vizinho(b) == 0 && distancia < 40000 && balao.getOeste() == null) {
					b.setDistancia(distancia);
					vetorOeste[i] = b;

					i++;
				}
				if (balao.vizinho(b) == 1 && distancia < 40000 && balao.getLeste() == null){
					b.setDistancia(distancia);
					vetorLeste[j] = b;
					j++;
				}
			}
		}

		idBalao = Interface.indicarBaloesOeste(vetorOeste, balao);
		if (idBalao > 0) {
			i = buscaBaloes(baloes, idBalao);
			balao.setOeste(baloes[i]);
			baloes[i].setLeste(balao);
		}


		idBalao = Interface.indicarBaloesLeste(vetorLeste, balao);
		if (idBalao > 0) {
			i = buscaBaloes(baloes, idBalao);
			balao.setLeste(baloes[i]);
			baloes[i].setOeste(balao);
		}



	}
}